﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using DAL;
using QLCongNo.KhachHangform;
using QLCongNo.Utility;

namespace QLCongNo.XuatHangform
{
    public partial class XuatHang : Form
    {
        Conect cn = new Conect();
        Xulychuoi trogiup = new Xulychuoi();
        DataTable dsHangHoa = new DataTable();
        DataTable Hanghoa = new DataTable();
        Double tongtien = 0;
        public string makh;
        public XuatHang()
        {
            InitializeComponent();
        }
        public XuatHang(string ma)
        {
            InitializeComponent();
            makh = ma;
        }
        public void GetValue(string ma)
        {// khai báo 1 hàm với 2 tham số đầu vào là str1, và str2 nó sẽ đưa dữ liệu vào 2 lable
            txt_khachhang.Text = ma;
        }
        private void XuatHang_Load(object sender, EventArgs e)
        {
            TauDAL tau = new TauDAL();
            cbTau.DataSource = tau.DSTau();
            cbTau.DisplayMember = "SoTau";
            cbTau.ValueMember = "SoTau"; 
            HangHoaDAL hh = new HangHoaDAL();
            Hanghoa = hh.DanhSachHH();
            cbHangHoa.Properties.DataSource = Hanghoa;
            cbHangHoa.Properties.DisplayMember = "Tên hàng";
            cbHangHoa.Properties.ValueMember = "Mã hàng";
            cbHangHoa.Properties.NullText="Chọn hàng hóa";
            NhapXuatDAL nx = new NhapXuatDAL();
            //MessageBox.Show(nx.LayMaNhap());
            //DataTable dsHangHoa = new DataTable();
            txtMaPhieuNhap.Text = nx.MaPhieuXuat();
            dsHangHoa.Columns.Add("STT", typeof(String));
            dsHangHoa.Columns.Add("Mã hàng", typeof(String));
            dsHangHoa.Columns.Add("Tên hàng", typeof(String));
            dsHangHoa.Columns.Add("Số lượng", typeof(String));
            dsHangHoa.Columns.Add("Đơn giá", typeof(String));
            dsHangHoa.Columns.Add("Tiền", typeof(String));
            gvDSHangHoa.DataSource = dsHangHoa;
            txt_khachhang.Text = makh;
          }

        private void txtThemHang_Click(object sender, EventArgs e)
        {
            string mahang, tenhang;
            int soluong;
            double dongia,thanhtien;
            mahang = cbHangHoa.EditValue.ToString();
            tenhang = Hanghoa.Rows[cbHangHoa.ItemIndex][1].ToString();
            dongia = Convert.ToDouble(Hanghoa.Rows[cbHangHoa.ItemIndex][3].ToString());
            soluong = Convert.ToInt32(txt_soluong.Text);
            thanhtien = soluong * dongia;
            DataRow row = dsHangHoa.NewRow();
            row["STT"]=dsHangHoa.Rows.Count+1;
            row["Mã hàng"] = mahang;
            row["Tên hàng"] = tenhang;
            row["Số lượng"] = txt_soluong.Text;
            row["Đơn giá"] = dongia.ToString() + "/" + Hanghoa.Rows[cbHangHoa.ItemIndex][2].ToString();
            row["Tiền"] = thanhtien.ToString("#,###");
            dsHangHoa.Rows.Add(row);
            for (var i = 0; i < dsHangHoa.Rows.Count; i++)
            {
                tongtien = tongtien + Convert.ToDouble(dsHangHoa.Rows[i][5]);
            }
            txtTongTien.Text = tongtien.ToString("#,###");
            

        }

        private void simpleButton3_Click(object sender, EventArgs e)
        {
            DSKhacHang khform = new DSKhacHang();
            khform.MaKH = new DSKhacHang.LayMA(GetValue);
            khform.ShowDialog();
        }

        public void laymaForm(string ma)
        {
            
            txt_khachhang.Text = ma;
        }

        private void btn_Luu_Click(object sender, EventArgs e)
        {
            string makh,loi,kh,sql,ngay,ngayxuat;
            double tratruoc;
            int soloi;
            loi = "";
            soloi = 0;
            kh = txt_khachhang.Text;
            if (kh == null || kh == "")
            {
                loi="Vui lòng chọn khách hàng. ";
                soloi = 1;
                
            }
            else if (dsHangHoa.Rows.Count == 0)
            {
                loi = loi + "Danh sách hàng hóa không được trống. ";
                soloi = 1;
            }
            else
            {
                ngay = txtNgayXuat.Text;
                ngayxuat = trogiup.DinhDangNgay(ngay);
                makh = txt_khachhang.Text.Substring(0, 7);
                tratruoc = Convert.ToDouble(txtTraTruoc.Text);
                sql = "INSERT INTO PhieuXuat(MaPX,MaKH,MaTau,NgayXuat,TraTruoc,TongTien,GhiChu)  " +
                       "Values ('" + txtMaPhieuNhap.Text + "','" + makh + "','" + cbTau.SelectedValue.ToString() + "','" + ngayxuat + "',"+tratruoc+","+tongtien+",'"+txtGhiChu.Text+"')";
                if (cn.UpdateData(sql) > 0)
                {
                    MessageBox.Show("Thành công");
                }
                else
                    MessageBox.Show("Thất bại");
            }
        }

    }
}
